home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 001-025 / scopedisk21 / dmouse19 / dmouse.doc < prev    next >
Text File  |  1995-03-18  |  9KB  |  230 lines

  1.  
  2. V1.09               DMOUSE.DOC           31 Jul 1988
  3.  
  4.               Matthew Dillon
  5.               891 Regal Rd
  6.               Berkeley, California 94708
  7.               USA
  8.  
  9.     WORKBENCH USERS:    PLEASE READ THE REVISION HISTORY FOR V1.09 FOR
  10. SOLUTION TO INTUITION WINDOWTOFRONT() BUG.
  11.  
  12.     YAIH (Yet Another Input Handler)... nahh, like DMouse better...
  13. for "Dillon's Mouse"???   Placed in PUBLIC DOMAIN because it's such a
  14. nifty program!
  15.  
  16.     After looking at and rejecting several mouse-intuition input
  17. handler enhancers (you know, accelerate the mouse, click-to-front, etc...)
  18. and finding them all useless, I have written my own.
  19.  
  20.     - Any option can be turned off or modified.
  21.  
  22.     - Screen blanks if keyboard or mouse is idle > N1 secs (def 300)
  23.         (mouse also blanks even if mouse blanking not turned on)
  24.  
  25.     - The Pesky Mouse blanks if mouse is idle > N2 secs (def 5)
  26.  
  27.     - Auto Activate a window when the mouse is moved over it.  Window
  28.       also activated (if not already active) when you type.  These
  29.       two features may be turned on/off independantly
  30.  
  31.     - Mouse Accelerator.  Back feeds power into the mouse unit;
  32.       give it a nudge and it is guarenteed to penetrate up to an
  33.       inch and a half of wall plaster (programmable depth).  Once
  34.       you start using it, you won't be able to switch back!
  35.  
  36.     - Programmable command-key and command string ala PopCli, default
  37.       left-Amiga ESC.
  38.  
  39.     - Left Mouse Button click in window brings it to the front
  40.         DOES NOT BRING THE WINDOW TO THE FRONT IF IT IS ALREADY
  41.         IN THE FRONT.  Other programs would call WindowToFront() on
  42.         every click, which is horrible if you have a simple-refresh
  43.         window.  WindowToFront() is NOT called for backdrop windows!
  44.  
  45.         The qualifier along with the LMB is now settable with the -l option.
  46.  
  47.       # clicks required is settable.
  48.  
  49.     - Hold LMB, click Right Mouse Button .. Window to Back!  Great
  50.       for cycling windows.    See next feature for more info.
  51.  
  52.       (the qualifier, normally the left mouse button, can be set with
  53.        the -R option).
  54.  
  55.     - Same sequence as above, but if there is no window under the
  56.       current mouse position, there is only one window on the screen,
  57.       or the window under the mouse is a BACKDROP window, the
  58.       sequence cycles through Screens!
  59.  
  60.     - NO DAMN CLOCK.  Use another utility to get a clock.  No other
  61.       glossy thrills.  DMouse is short, sweet, and functional.
  62.  
  63.     - Does not use a CLI, can be placed in workbench startup sequence.
  64.       DO NOT 'RUN' DMOUSE!
  65.  
  66. INSTALLATION:
  67.  
  68.     Place dmouse-handler in L: (or in the 'current' directory when DMOUSE
  69.     is run).
  70.  
  71.     WORKBENCH USERS!!!!!!!!!!    There appears to be a bug in intuition's
  72.     WindowToFront() call, which can lock up intuition when workbench
  73.     icons are active.  Under the defaults, this will occur whenever you
  74.     depress the left mouse button over an icon.
  75.  
  76.     A partial fix is in place V1.07 and beyond.  However, if you find
  77.     it still freezing up, the problem can be avoided as follows:  Either
  78.     turn off the left-mouse-button window- to-front feature (-L0) or leave
  79.     it on and set the number of clicks required to 2 (-c2) (and don't use
  80.     the feature while your mouse is over an icon).  V1.09 gives you yet
  81.     a THIRD option which is even more preferable ... change the qualifier
  82.     that goes along with the left mouse button to something other than 0,
  83.     like 3 (either shift). -l3
  84.  
  85.  
  86. EXECUTE FROM A CLI (e.g. WORKBENCH STARTUP SCRIPT), example:
  87.  
  88.     1> DMouse -C newcli "<nil: >nil: con:320/120/320/80/Shell c:shell.exe"
  89.  
  90.     There is no need to 'RUN' DMouse.  A double set of quotes may be
  91.     required for the program to work properly with ConMan.
  92.  
  93.     NOTE:   Your script in c:shell.exe should prefix all commands with a
  94.         full path or the boot drive (usually DF0:) will be accessed,
  95.         causing a requestor to appear if no disk is inserted.
  96.  
  97.  
  98. TO KILL:
  99.  
  100.     1> dmouse QUIT
  101.  
  102. SOURCE:
  103.  
  104.     Source is compileable under Aztec, +L (32 bit ints) and suitable
  105.     precompiled include file (remember the precompiled include file must
  106.     be precompiled with +L also).  Use the c32.lib library (Aztec C)
  107.  
  108.     Precompiled include files:    All amiga includes that are in
  109.     sub-directories (i.e. */*.h, but not things like <stdio.h>)
  110.  
  111.  
  112. COMMAND LINE ARGUMENTS:
  113.  
  114.     If DMouse is already running, any specified options will be
  115.     incorporated.
  116.  
  117.     quit    QUIT .. remove DMouse
  118.     -h        HELP
  119.     -a#     Set acceleration to #.    Default 3,         1 disables option
  120.     -t#     Set mouse acceleration threshhold, pixs/ev. default 0.
  121.     -s#     Set screen timeout to # (secs), Default 300, 0 disables option
  122.     -m#     Set mouse timeout to # (secs), Defalut 5,    0 disabled option
  123.     -c#     Set # of clicks required to bring window to front (def 1)
  124.     -p#     Set input handler priority (def 51) should always be > 50
  125.         (initial invocation only)
  126.  
  127.     -w#     0 = use UpFrontLayer() etc... 1 = use WindowToFront() etc...
  128.         WindowToFront() properly refreshes SIMPLE_REFRESH windows
  129.         but a bug intuition can cause it to crash the machine if
  130.         a workbench icon is active at the time.
  131.  
  132.     -L0/1    Disable/Enable left-button brings window to front
  133.     -A0-3    Disable/Enable AUTO-ACTIVATE. Bit #0 = mouse auto-activate
  134.                           #1 = keyboard auto-activate
  135.             (default 3, which enables both)
  136.  
  137.     -lqqqq    Set Qualifier (HEX) with LMB for Window To Front (default is
  138.          0, meaning no qualifier).  Example:    -l0003 sets it to
  139.          either shift key.
  140.  
  141.     -Rqqqq    Set Qualifier (HEX) with RMB for Window To Back (default is
  142.          the LMB qualifier).  Setting the qualifier to 0 disables
  143.          the feature.
  144.  
  145.     -Kcccc    Set Keycode (HEX)   for command key (default 0045)
  146.  
  147.     -Qqqqq    Set Qualifier (HEX) for command key (default 0040)
  148.  
  149.     -C CMD    Set Command to run.  Default is NEWCLI.  Remaining arguments
  150.         on command line is the command.
  151.  
  152.  
  153.             QUALIFIERS (always entered in HEX)
  154.  
  155.     0001    Left Shift
  156.     0002    Right Shift
  157.     0004    Caps Lock
  158.     0008    Control
  159.     0010    Left Alt
  160.     0020    Right Alt
  161.     0040    Left Amiga Key
  162.     0080    Right Amiga Key
  163.     0100    Numeric Key Pad Key (not useful for dmouse)
  164.     0200    Repeat        (not useful for dmouse)
  165.     0400    Interrupt        (not useful for dmouse)
  166.     0800    Multibroadcast    (not useful for dmouse)
  167.     1000    Middle Mouse Button
  168.     2000    Right Mouse Button
  169.     4000    Left Mouse Button
  170.  
  171.     Note:    Combinations are allowed, in which case any one of the
  172.         selected qualifiers along with the left, right mouse button
  173.         or command key will cause the appropriate action to occur.
  174.  
  175.  
  176. RELEASE HISTORY:
  177.  
  178. V1.09
  179.  
  180.     Workbench users probably want to use the following options: -w1 -l0003
  181.     These use WindowToFront() (your windows get refreshed properly), but
  182.     also requires you to depress a shift key + LMB to get the window-to-front
  183.     feature.
  184.  
  185.     dmouse -w1 -l0003
  186.  
  187.     -SELECTABLE USE OF UpFrontLayer() etc..  OR  WindowToFront() etc...
  188.      Workbench users should use WindowToFront() (-w1), while CLI users
  189.      probably want to use UpFrontLayer() (default).
  190.  
  191.      Reason:    WindowToFront()/Back can crash the Amiga if called while
  192.      a workbench ICON is highlighted.  Unfortunetly, UpFrontLayer(), which
  193.      does not have the bug, also does not automatically refresh
  194.      simple-refresh windows!
  195.  
  196.     -New option -lqqqq (SET QUALIFIER WITH LEFT MOUSE BUTTON TO GET
  197.      WINDOW-TO-FRONT FEATURE).    WORKBENCH USERS NOTE:  By setting this
  198.      qualifier to a shift key, for instance, you can safely move icons
  199.      around without crashing the machine because DMouse will not issue
  200.      the WindowToFront() call unless you are holding the qualifier key
  201.      down while pressing the left mouse button.
  202.  
  203.     -Bug fixed thanks to user persistance!  If you disable mouse blanking,
  204.      and enable screen blanking (which blanks the mouse too when it
  205.      happens), hitting a key would bring back the screen but not the mouse.
  206.  
  207. V1.08
  208.      Botched.
  209.  
  210. V1.07
  211.     -All intuition calls are made from an independant process rather than
  212.      the input handler routine.  This also fixes a couple of deadlock bugs,
  213.      but not the workbench-icon deadlock bug.
  214.     -Mouse response is no longer jerky when the system is loaded down.
  215.     -Keyboard-Auto-Activate-Window independant of Mouse-Auto-Activate-Window
  216.      (enhanced -A option)
  217.     -No need to OR the -Q qualifier with 8000 anymore
  218.     -WindowToFront() never called for backdrop windows, which ought to fix
  219.      the workbench freeze bug and other problems.
  220.     -Mouse automatically blanked when screen blanks, whether mouse blanking
  221.      is enabled or not.
  222.     -Can set input handler priority (initial invocation only).
  223.     -New Timeouts go into effect immediately rather than after the
  224.      next mouse/keyboard event.
  225.  
  226. V1.00-V1.06
  227.     Before Written history
  228.  
  229.  
  230.